#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# 给定一个单链表的头结点pHead，长度为n，反转该链表后，返回新链表的表头。
# 基本思想，迭代：用 pre 和 cur 分别指向反转后的节点后反转前的节点。先局部反转，然后将pre和cur同步向前移动，直到cur指向空
class Solution:
	def ReverseList(self, head):
		if not head:
			return None
		pre, cur = None, head
		while head:
			nxt = cur.next
			cur.next = pre
			pre = cur
			cur = nxt
		return pre
